package com.servicesManagement.model;
// Generated Dec 13, 2014 11:53:18 AM by Hibernate Tools 3.2.1.GA

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ServiceLine generated by hbm2java
 */
@Entity
@Table(name = "SERVICE_LINE", schema = "SANKAR")
public class ServiceLine implements java.io.Serializable {

    private Long serviceLineId;
    private LineOfBusiness lineOfBusiness;
    private ServiceLineType serviceLineType;
    private BigDecimal changedByUserId;
    private Date changedDate;
    private BigDecimal createdByUserId;
    private Date createdDate;
    private String description;
    private Date effectiveDate;
    private Date expirationDate;
    private BigDecimal legacyId;
    private String name;
    private BigDecimal ownerBackupId;
    private BigDecimal ownerId;
    private String reportDirectory;
    private BigDecimal serviceLineOwnerPscuId;
    private String siebelSolutionId;

    public ServiceLine() {
    }

    public ServiceLine(Long serviceLineId) {
        this.serviceLineId = serviceLineId;
    }

    public ServiceLine(Long serviceLineId, LineOfBusiness lineOfBusiness, ServiceLineType serviceLineType, BigDecimal changedByUserId, Date changedDate, BigDecimal createdByUserId, Date createdDate, String description, Date effectiveDate, Date expirationDate, BigDecimal legacyId, String name, BigDecimal ownerBackupId, BigDecimal ownerId, String reportDirectory, BigDecimal serviceLineOwnerPscuId, String siebelSolutionId) {
        this.serviceLineId = serviceLineId;
        this.lineOfBusiness = lineOfBusiness;
        this.serviceLineType = serviceLineType;
        this.changedByUserId = changedByUserId;
        this.changedDate = changedDate;
        this.createdByUserId = createdByUserId;
        this.createdDate = createdDate;
        this.description = description;
        this.effectiveDate = effectiveDate;
        this.expirationDate = expirationDate;
        this.legacyId = legacyId;
        this.name = name;
        this.ownerBackupId = ownerBackupId;
        this.ownerId = ownerId;
        this.reportDirectory = reportDirectory;
        this.serviceLineOwnerPscuId = serviceLineOwnerPscuId;
        this.siebelSolutionId = siebelSolutionId;

    }

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "SERVICE_LINE_ID", unique = true, nullable = false, scale = 0)
    public Long getServiceLineId() {
        return this.serviceLineId;
    }

    public void setServiceLineId(Long serviceLineId) {
        this.serviceLineId = serviceLineId;
    }

    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(name = "SERVICE_LINE_OF_BUSINESS", inverseJoinColumns = {
        @JoinColumn(name = "LOB_ID", referencedColumnName = "LOB_ID")}, joinColumns = {
        @JoinColumn(name = "SERVICE_LINE_ID", referencedColumnName = "SERVICE_LINE_ID")})
    public LineOfBusiness getLineOfBusiness() {
        return this.lineOfBusiness;
    }

    public void setLineOfBusiness(LineOfBusiness lineOfBusiness) {
        this.lineOfBusiness = lineOfBusiness;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "SERVICE_LINE_TYPE_ID")
    public ServiceLineType getServiceLineType() {
        return this.serviceLineType;
    }
//    

    public void setServiceLineType(ServiceLineType serviceLineType) {
        this.serviceLineType = serviceLineType;
    }

    @Column(name = "CHANGED_BY_USER_ID")
    public BigDecimal getChangedByUserId() {
        return this.changedByUserId;
    }

    public void setChangedByUserId(BigDecimal changedByUserId) {
        this.changedByUserId = changedByUserId;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "CHANGED_DATE", length = 7)
    public Date getChangedDate() {
        return this.changedDate;
    }

    public void setChangedDate(Date changedDate) {
        this.changedDate = changedDate;
    }

    @Column(name = "CREATED_BY_USER_ID")
    public BigDecimal getCreatedByUserId() {
        return this.createdByUserId;
    }

    public void setCreatedByUserId(BigDecimal createdByUserId) {
        this.createdByUserId = createdByUserId;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "CREATED_DATE", length = 7)
    public Date getCreatedDate() {
        return this.createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    @Column(name = "DESCRIPTION")
    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "EFFECTIVE_DATE", length = 7)
    public Date getEffectiveDate() {
        return this.effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "EXPIRATION_DATE", length = 7)
    public Date getExpirationDate() {
        return this.expirationDate;
    }

    public void setExpirationDate(Date expirationDate) {
        this.expirationDate = expirationDate;
    }

    @Column(name = "LEGACY_ID")
    public BigDecimal getLegacyId() {
        return this.legacyId;
    }

    public void setLegacyId(BigDecimal legacyId) {
        this.legacyId = legacyId;
    }

    @Column(name = "NAME")
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "OWNER_BACKUP_ID")
    public BigDecimal getOwnerBackupId() {
        return this.ownerBackupId;
    }

    public void setOwnerBackupId(BigDecimal ownerBackupId) {
        this.ownerBackupId = ownerBackupId;
    }

    @Column(name = "OWNER_ID")
    public BigDecimal getOwnerId() {
        return this.ownerId;
    }

    public void setOwnerId(BigDecimal ownerId) {
        this.ownerId = ownerId;
    }

    @Column(name = "REPORT_DIRECTORY")
    public String getReportDirectory() {
        return this.reportDirectory;
    }

    public void setReportDirectory(String reportDirectory) {
        this.reportDirectory = reportDirectory;
    }

    @Column(name = "SERVICE_LINE_OWNER_PSCU_ID")
    public BigDecimal getServiceLineOwnerPscuId() {
        return this.serviceLineOwnerPscuId;
    }

    public void setServiceLineOwnerPscuId(BigDecimal serviceLineOwnerPscuId) {
        this.serviceLineOwnerPscuId = serviceLineOwnerPscuId;
    }

    @Column(name = "SIEBEL_SOLUTION_ID")
    public String getSiebelSolutionId() {
        return this.siebelSolutionId;
    }

    public void setSiebelSolutionId(String siebelSolutionId) {
        this.siebelSolutionId = siebelSolutionId;
    }
}
